package edu.ues21.tcs.ecommerce2011.mvc.controller;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import edu.ues21.tcs.ecommerce2011.mvc.dao.ClienteDAO;
import edu.ues21.tcs.ecommerce2011.mvc.dao.UsuarioDAO;
import edu.ues21.tcs.ecommerce2011.mvc.model.Cliente;
import edu.ues21.tcs.ecommerce2011.mvc.model.Usuario;

/**
 * 
 * @author fmantaras.
 */
public class AddUsuarioController extends HttpServlet {

	
	private static final long serialVersionUID = -4620154423591324629L;

	ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
			"/BeanLocations.xml");

	ClienteDAO cDao = (ClienteDAO) appContext.getBean("clienteDAO");

	UsuarioDAO uDao = (UsuarioDAO) appContext.getBean("usuarioDAO");


	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		List<Cliente> listaClientes = cDao.getAll();
		
		request.setAttribute("listaClientes", listaClientes);
		
		request.getRequestDispatcher("view/AddUsuario.jsp").forward(request,
				response);
	}

	@Override
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		String nombreUsuario = request.getParameter("nombreUsuario");
		String password = request.getParameter("password");
		Integer dni = Integer.parseInt(request.getParameter("dni").trim());
		String nombre = request.getParameter("nombre");
		String apellido = request.getParameter("apellido");
		String email = request.getParameter("email");
		Integer cliente = Integer.parseInt(request.getParameter("cliente").trim());

		Usuario u = new Usuario();
		u.setNombreUsuario(nombreUsuario);
		u.setNombre(nombre);
		u.setPassword(password);
		u.setDni(dni);
		u.setApellido(apellido);
		u.setEmail(email);
		u.setCliente(cDao.getCliente(cliente));
		
		uDao.save(u);

		response.sendRedirect("CRUDUsuario.do");
		

	}

	@Override
	public String getServletInfo() {
		return "Short description";
	}// </editor-fold>

}